home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 223_01 / eratos.c < prev    next >
Text File  |  1980-01-01  |  896b  |  36 lines

  1. /* Eratosthenes Sieve Prime Number Program in C */
  2. /* Uses local (automatic) Variables */
  3.  
  4. #include <stdio.h>
  5.  
  6. #define SIZE    8190
  7. #define SIZEP1  8191
  8.  
  9. char flags[SIZEP1];
  10. main()  {
  11.         int i, prime, k, count, iter;
  12.  
  13.           /* variables defined here are local */
  14.  
  15.         printf("10 iterations :");
  16.         for (iter = 1; iter<=10; iter ++) {
  17.                 count = 0;
  18.         for (i = 0; i<= SIZE; i++) 
  19.             flags[i] = TRUE;
  20.         for (i = 0; i<= SIZE; i++) {
  21.             if (flags[i]) {
  22.                 prime = i + i + 3;
  23.                 k = i + prime;
  24.                 while (k <= SIZE) {
  25.                     flags [k] = FALSE;
  26.                     k += prime;
  27.                     }
  28.                 count = count + 1;
  29.                 }
  30.             }
  31.              }
  32. printf(" %d primes", count);
  33. }
  34.  
  35.             
  36.